﻿using OsPortal;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Caching;

/// <summary>
/// Summary description for clsThuVienHangSo
/// </summary>
public class clsThuVienHangSo
{
    static string strClassName = "clsThuVienHangSo";
    /// <summary>
    /// Function Name: LẤY TOÀN BỘ HẰNG SỐ VÀ LƯU VÀO KHU VỰC
    /// Create Date: 27/09/2013
    /// Update Date:
    /// Author: Thuannh
    /// </summary>    
    /// <returns></returns>
    public static DataTable GetAll()
    {
        // Lấy tham chiếu đến đối tượng Cache.
        Cache _cache = HttpContext.Current.Cache;
        DataTable dt = null;
        string strCacheHangSo = "";
        strCacheHangSo = "TVHangSo_All";
        if (_cache[strCacheHangSo] == null)
        {
            dt = oSqlDataHelper.sExecuteDataTable("SELECT * FROM THU_VIEN_HANG_SO");
            // Lưu giữ item trong cache
            // cùng với sliding expiration là 60 phút.
            if (dt != null && dt.Rows.Count > 0)
            {
                HttpContext.Current.Cache.Insert(strCacheHangSo, dt, null, DateTime.MaxValue, TimeSpan.FromMinutes(basConst.timeCache));
            }
        }
        else
        {
            dt = (DataTable)_cache[strCacheHangSo];
        }

        return dt;
    }

    /// <summary>
    /// LẤY CHI TIẾT NỘI DUNG BY ID
    /// Author: ThuanNH
    /// Create: 27/09/2013
    /// </summary>
    /// <param name="KV_ID">Mã khu vực</param>
    /// <returns></returns>
    public static DataTable fncGetHangSo_ByID(string TV_ID)
    {
        DataTable dt = null;
        try
        {
            dt = OsPortal.oDataHelper.filterData(GetAll(), "TV_ID='" + TV_ID + "'");
        }
        catch (Exception ex)
        {
            OsPortal.oFileHelper.WriteLogErr(strClassName, "fncGetHangSo_ByID", ex.ToString());
        }
        return dt;
    }

    /// <summary>
    /// LẤY GIA TRI HANG SO B id
    /// Author: ThuanNH
    /// Create: 27/09/2013
    /// </summary>
    /// <param name="KV_ID">Mã khu vực</param>
    /// <returns></returns>
    public static string fncGetValueHangSo_ByID(string TV_ID)
    {
        DataTable dt = null;
        try
        {
            dt = OsPortal.oDataHelper.filterData(GetAll(), "TV_ID='" + TV_ID + "'");
            if (dt == null) return "";
            if (dt.Rows.Count <= 0) return "";
            return dt.Rows[0]["tv_value"].ToString();
        }
        catch (Exception ex)
        {
            OsPortal.oFileHelper.WriteLogErr(strClassName, "fncGetHangSo_ByID", ex.ToString());
            return "";
        }
    }
}